Hoạt động của đống Đống_nhị_phân

Trong mục này, ta xem xét hoạt động của đống nhị phân cho phép tìm kiếm khóa lớn nhất. Có thể dễ dàng sửa đổi một số chi tiết để tìm khóa nhỏ nhất thay vì lớn nhất.

Chèn

Để chèn thêm một khóa mới, ta thực hiện thuật toán sau:

  1. Chèn khóa mới vào tầng cuối cùng của đống
  2. So sánh khóa mới với khóa của nút cha, nếu chúng thỏa mãn điều kiện thứ tự của đống, kết thúc.
  3. Nếu không, đổi chỗ khóa mới và khóa của nút cha, và trở lại bước trước.

Xóa khóa lớn nhất

Để xóa khóa ở gốc của đống (khóa lớn nhất), ta thực hiện thuật toán sau:

  1. Đổi chỗ khóa cần xóa và khóa cuối cùng ở tầng cuối cùng rồi xóa khóa cần xóa khỏi đống. Khởi tạo nút hiện tại là nút gốc.
  2. So sánh khóa của nút hiện tại và khóa ở các nút con, nếu chúng thỏa mãn điều kiện thứ tự của đống, kết thúc.
  3. Nếu không, đổi chỗ khóa hiện tại và khóa lớn hơn trong các khóa của nút con. Chuyển vị trí nút hiện tại tới nút con vừa được hoán đổi và trở về bước trước.